Launching An Application From A Power Management State

ABSTRACT

A method for launching a selected application in a computer system that is either in a sleep state or a power-off state, the computer system includes an operating system (OS) installed therein to execute applications in a normal mode of the OS. The method includes, while the computer system is in one of the sleep state and the power-off state, receiving a command to launch the selected application in the computer system, loading the OS in a sandbox mode preconfigured for the selected application, and the OS in the sandbox mode launching the selected application to run in the computer system.

BACKGROUND

Mobile, desktop and server computing devices of today typically employpower management schemes to promote and implement energy efficiency forthe devices. A common power management scheme is the AdvancedConfiguration and Power Interface (ACPI) open-industry specificationthat was co-developed by Hewlett-Packard™, Intel™, Microsoft™, Phoenix™,and Toshiba™.

According to the ACPI specification, an ACPI-compliant device can be inone of the seven power states S0-S5 and G3. The S0 power managementstate (hereinafter, “power state”) denotes the power-on state of thedevice, whereby the device's operating system (OS) and applications maybe running with its central processing unit (CPU) executinginstructions. The next four power states S1-S4 denote various sleepmodes. In the S1 power state, power to the CPU and random access memory(RAM) is maintained, and other components in the device are powered downif they do not indicate the need to remain on. In the S2 power state,the CPU is further powered off. In the S3 power state, also known as“standby” in Microsoft™ Windows OS devices, RAM remains powered, butmost other components in the device are powered down. In the S4 powerstate, also known as “hibernation” in Microsoft™ Windows OS devices, RAMis also powered off; however, all of its content is saved to a harddrive to preserve the states of the OS, applications, open documents,etc. Thus, the S2-S4 power states are referred herein as the sleepstates because the CPU is powered off.

The next power state is S5, also known as a “soft off,” wherein the CPUand RAM are powered off, but some components remain powered so thecomputer can wake up from various inputs such as a keyboard, local areanetwork (LAN), or a universal serial bus (USB) device. However, a bootprocedure is required to bring the device back up online from S5 to S0state. The last power state is G3, which is the opposite of the S0 powerstate. The G3 power state is also known as “mechanical off,” wherein allcomponents (except for those running on small batteries) in the deviceis powered down, and the device's power consumption is substantiallyzero. Thus, the S5 and G3 power states are referred herein as thepower-off states.

Not all ACPI-compliant devices implement all ACPI power states. Forexample, most home personal computers (PCs), such as desktop and laptopPCs, that run Microsoft Windows™ operating systems (OS'es) are providedwith four states, S0 for power on, S3 for standby, S4 for hibernation,and G3 for complete power off or mechanical off.

In a typical computing device with an OS that supports an applicationlaunch from an ACPI state (or a power state of any other powermanagement scheme), if the device and its OS go into a sleep mode inS2-S4 states or a power-off mode in the S5-G3 states, the user must“wake up” or power up the device and most often has to login beforeproceeding to the application launch. Thus, the user must wasteadditional time waiting for the ACPI-compliant device to achieve the S0power-on state for the OS to be fully functional in normal mode before adesired application can be manually or automatically launched fromwithin the OS in the normal mode. As understood and referred herein, anOS when operating in its normal mode in a computing device provides fullfunctionalities to manage the sharing of resources of the computingdevice and provide users with an interface to access such resources. Anexample of an OS normal mode is the normal mode (as opposed to, forexample, the safe mode) of Microsoft Windows OS products.

The aforementioned additional time delay for device wake-up or power-upis especially pronounced when the device is initially in either the S5or G3 state, whereupon a command from the user, the device mustimplement a boot procedure or sequence to start various initializationprocedures and tests, such as a power-on self-test program (POST) and abasic input output system (BIOS) program in the device's firmware, andto load the OS. Thereafter, the desired application may be launched fromwithin the OS. Consequently, such a time delay reduces the user'sproductivity as the user must wait for the boot procedure to completeand the desired application to launch. It also produces a negativeeffect on the user's overall experience with the computing device.

Furthermore, when the user wishes to close an application and place theACPI-compliant device in a deep sleep mode in the S4 or S5 state, or apower off mode in the G3 state, the device may not power down properlyif other features and/or applications remain running with the device'sOS. This is not safe and may corrupt one or more of the running featuresand applications.

There exist solutions that allow direct launch of an application througha partitioning of the device's main memory to have a main OS for anormal booting procedure and a normal running of applications within theOS and a second OS that can directly access the direct-launchapplication without having to go through the normal booting procedure inthe main OS. Because the second OS only needs to launch one application,it needs not go through the typical extensive boot procedure to supportthe single-application launching. Thus, it is able to boot up the deviceand launches the application quickly. For example, an ACPI-compliantdevice may have one or more hardware direct-launch buttons thereon toallow a user to directly launch an application particular to eachbutton. When the user presses, or otherwise activates, a direct-launchbutton, the device will be booted up by the second-OS partition, whichthen automatically launches an application corresponding to theactivated direct-launch button. Consequently, these existing solutionsemploy at least two OS'es and two partitions for a device, which furthercomplicate the design, manufacturing, and reliability of such a device.

Accordingly, there is a desire to provide more simplified solutions thatcan continue to implement energy efficiency of computing devices whileincreasing a user's positive experience with such devices.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments are illustrated by way of example and not limited in thefollowing figures(s), in which like numerals indicate like elements, inwhich:

FIG. 1 illustrates a splash page for a quick-start application,according to an embodiment.

FIG. 2 illustrates a splash page for a listing of available quick-startapplications, according to an embodiment.

FIG. 3 illustrates a method for launching a selected application in acomputing device, according an embodiment.

FIG. 4 illustrates another method for launching a selected applicationin a computing device, according another embodiment.

FIG. 5 illustrates a computerized system that is operable to be used asa platform for implementing a computing device, according to oneembodiment.

DETAILED DESCRIPTION

For simplicity and illustrative purposes, the principles of theembodiments are described by referring mainly to examples thereof. Inthe following description, numerous specific details are set forth inorder to provide a thorough understanding of the embodiments. It will beapparent however, to one of ordinary skill in the art, that theembodiments may be practiced without limitation to these specificdetails. In other instances, well known methods and structures have notbeen described in detail so as not to unnecessarily obscure theembodiments.

Described herein are systems and methods for providing power efficiencyand power saving solutions to computing devices while supporting directlaunching of various applications in the computing devices when in deepsleep and power-off modes in order to improve the productivity andpositive experience of users using such devices.

According to various embodiments described herein, a device that isACPI-compliant, or otherwise compliant with another power managementscheme, is provided with one or more direct-launch hardware or physicalbuttons thereon. These hardware or physical buttons (as opposed tovirtual or software button) are referred herein as quick-start buttons,and they are in addition to the power button or mechanism typicallyfound on such a device to turn on/off the device. They may beimplemented for frequently-used applications to provide the user withquick access to such applications via actions (such as pressing orpushing) on such buttons. Examples of a quick-start application includebut are not limited to: DVD playback, watching television, watching avideo from a video file stored in the device; listening to music frommusic files stored in the device; surfing the Internet and World WideWeb; launching an appointment calendar for review and editing.

In one embodiment, each quick-start button provides the device user witha direct launching of a corresponding quick-start application withoutthe need to go through an OS boot sequence or procedure as describedearlier. For example, FIG. 1 illustrates a splash page 100 for aquick-start DVD playback application that takes the user directly to thequick-start DVD playback application, as selected by the user throughactivation of one of the quick-start buttons, in accordance with oneembodiment. The splash page 100 may be a graphical user interface (GUI),such as a screen, provided on a display component of the device thatidentifies the quick-start application that the user has launched.

As illustrated in FIG. 1, the splash page or GUI 100 includes a portion110 for playback of the DVD content, various control buttons foraccessing the DVD menu 120, audio playback of the DVD 130, and subtitleselection 140 for the DVD playback. The GUI 100 also includes controlbuttons 150 for DVD playback, such as playing, pausing, stopping, fastforwarding (FF), fast rewinding (FR), forwarding to next chapter (FW),and rewinding to last chapter (RW). The GUI 100 further includes a closebutton 160 for the user to terminate the quick-start application, atwhich time the device may revert back to its initial power state or to apredetermined power state.

In another embodiment, a single (or multiple) quick-start button may beprovided on the device which allows the device user to select one frommultiple available quick-start applications for direct launch. Forexample, FIG. 2 illustrates a splash page 200 for a menu or listing ofavailable quick-start applications, from which the user may select oneapplication for direct launching, in accordance with one embodiment. Aswith the splash page 100, the splash page 200 may be a GUI, such as ascreen, provided on a display component of the device that provides theuser with a menu of quick-start applications for a direct-launchselection.

As illustrated in FIG. 2, the splash page or GUI 200 includes aplurality of buttons for direct launching of DVD playback 210 for one ormore DVDs inserted in or otherwise accessible by the device, videoplayback 220 of one or more video files stored on or otherwiseaccessible by the device, music playback 230 of one or more audio filesstored on or otherwise accessible by the device, or web surfing 240 foraccessing the Internet and World Wide Web. The GUI 200 also includes aclose button 260 to terminate the GUI 200 and selection of anapplication for direct-launching therefrom. Once the user selects one ofthe available quick-start applications for direct launching, forexample, by clicking on a corresponding one of the buttons 210-240, theuser may be presented with another splash page or GUI specific for theselected quick-start application. For example, if the user selects DVDplayback through button 210, the user may be presented with the GUI 100as described earlier.

Once the user terminates the quick-start application (or it is otherwiseterminated), the device may be returned to its previous power state orany other predetermined power state. Thus, the user does not need tologin to a user account in an OS to further access the quick-startapplication or see other applications in the OS desktop environment,such as a Microsoft Windows™ desktop environment.

FIG. 3 illustrates a method for directly launching a selectedapplication in a computing device, such as a computer system, while thecomputer system is in one of the sleep states S2-S4 or one of thepower-off states S5-G3, in accordance with one embodiment. In thisembodiment, the computer system is provided with a plurality of hardwarebuttons, each corresponding to a different application that may bedirectly launched in the computer system without having to go through aboot procedure or sequence to boot up the OS of the computer system toits normal mode.

At 310, the computer system receives a command from one of the hardwarebuttons to directly launch a quick-start application corresponding tothe one hardware button.

At 312, the firmware or basic input/output system (BIOS) of the computersystem determines from which hardware button the command originates soas to determine the particular quick-start application selected tolaunch.

At 314, the firmware or BIOS of the computer system next determines ordetects a current power state of the computer system.

At 316, if the computer system is currently in a power-on state, theBIOS releases its control of the computer system, so that the OS that iscurrently operating in the computer system can launch the selectedquick-start application within the OS in its normal mode.

At 318, however, if the computer system is currently in one of the sleepstates (e.g., S2-S4 states in ACPI), or in one of the power-off states(e.g., S5 and G3 states in ACPI), the firmware or BIOS of the computersystem loads the OS in a sandbox mode preconfigured to launch theselected quick-start application, and no other applications that areusually available in the OS when it operates in normal mode. Asunderstood in the art and referred herein, an OS sandbox mode indicatesan isolated environment in which the OS is provided with preconfiguredfeatures or abilities to run one or more predetermined applications orexecute one or more predetermined functions.

In one embodiment, an OS sandbox mode is a special quick-start useraccount to which the OS is loaded, whereby access controls such asparental controls are applied a priori to change the OS registriespointed to by the quick-start user account in order to limit the accountto launch only the selected quick-start application. Thus, an OS sandboxmode provides a limited user account in the OS with limited features andfunctions, such as no administrative privileges, so that such a useraccount can be logged into and loaded up quickly (without the need toload up all features and functionalities available to the OS in itsnormal mode). A hardware quick-start button then provides a command thatincludes an account password to provide fast-user-switching to thelimited user account, that is, to load up the corresponding OS sandboxmode. If the computer system includes multiple hardware quick-startbuttons for direct launching of multiple applications, each hardwarebutton corresponds to a particular OS sandbox mode, which is apreconfigured quick-start user account specific to a correspondingapplication that may be directly launched with the hardware button. Theuser is not able to modify the OS in a sandbox mode so as to directlylaunch an application that was not previously configured for such an OSsandbox mode.

Referring back to FIG. 3, at 320, the OS in the sandbox mode launches asplash page, an example of which is illustrated in FIG. 1, which takesthe user directly to the selected quick-start application without theuser having to wait for the computer system to power up and the OStherein to boot up and operate in its normal mode because thequick-start application can be launched.

At 322, once the selected quick-start application is launched, thecomputer system may receive a command to terminate the running of thequick-start application. This command may be a signal generated by theuser (for example, the user clicking on the close button 160 in FIG. 1).

At 324, the OS reverts the device back to the power state detected at314, or to any predetermined power state as desired.

FIG. 4 illustrates a method for directly launching a selectedapplication in a computing device, such as a computer system, while thecomputer system is in one of the sleep states S2-S4 or one of thepower-off states S5-G3, in accordance with one embodiment. In thisembodiment, the computer system is provided with a single (or multiple)hardware button that is operable to list multiple quick-startapplications that are available for direct launching.

At 410, the computer system receives a command from hardware button todirectly launch a quick-start application.

At 412, the firmware or BIOS of the computer system next determines ordetects a current power state of the computer system. If the computersystem is currently in a power-on state, the BIOS releases its controlof the computer system, so that the OS that is currently operating inthe computer system can launch any typical menu, such as an “AllPrograms” menu in Microsoft Windows™ to show a listing of applicationsavailable for operation within the OS in normal mode.

However, at 414, it is assumed that the computer system is currently inone of the sleep states (e.g., S2-S4 states in ACPI), or in one of thepower-off states (e.g., S5 and G3 states in ACPI). Thus, the firmware orBIOS of the computer system loads the OS in a sandbox mode preconfiguredto launch a listing or menu of quick-start applications that areavailable for direct launching. The sandbox mode may be as describedearlier.

At 416, the OS operating in sandbox mode presents a splash page thatprovides a listing or menu of quick-start applications available fordirect launching. An example of such a menu is illustrated in FIG. 2above. Again, the OS in this sandbox mode allows no application to belaunched other than the aforementioned listing or menu of availablequick-start applications for direct launching.

At 418, the firmware or BIOS receives a user selection of a quick-startapplication to launch from the menu.

At 420, the firmware or BIOS proceeds to command the OS to operate inanother sandbox mode preconfigured for launching the selectedapplication with a corresponding splash page (e.g., FIG. 1) that takesthe user directly to the selected quick-start application.

At 422, once the selected quick-start application is launched, thecomputer system may receive a command to terminate the running of thequick-start application. This command may be a signal generated by theuser (for example, the user clicking on the close button 260 in FIG. 2).

At 424, the OS reverts the device back to the power state detected at412, or to any predetermined power state as desired.

FIG. 5 illustrates a block diagram of a computerized system 500 that isoperable to be used as a platform for implementing the computing devicedescribed in methods 300 and 400. The computerized system 500 includesone or more processors, such as processor 502, providing an executionplatform for executing software. Thus, the computerized system 500includes one or more single-core or multi-core processors of any of anumber of computer processors, such as processors from Intel, AMD, andCyrix. As referred herein, a computer processor may be a general-purposeprocessor, such as a central processing unit (CPU) or any othermulti-purpose processor or microprocessor. A computer processor also maybe a special-purpose processor, such as a graphics processing unit(GPU), an audio processor, a digital signal processor, or anotherprocessor dedicated for one or more processing purposes. Commands anddata from the processor 502 are communicated over a communication bus504 or through point-to-point links with other components in thecomputer system 500.

The computer system 500 also includes a main memory 506 where softwareis resident during runtime, and a secondary memory 508. The secondarymemory 508 may also be a computer-readable medium (CRM) that may be usedto store the OS and/or the firmware/BIOS as described in methods 300 and400. The main memory 506 and secondary memory 508 (and an optionalremovable storage unit 514) each includes, for example, a hard diskdrive and/or a removable storage drive 512 representing a floppydiskette drive, a magnetic tape drive, a compact disk drive, etc., or anonvolatile memory where a copy of the software is stored. In oneexample, the secondary memory 508 also includes ROM (read only memory),EPROM (erasable, programmable ROM), EEPROM (electrically erasable,programmable ROM), or any other electronic, optical, magnetic, or otherstorage or transmission device capable of providing a processor orprocessing unit with computer-readable instructions.

The computer system 500 includes a display 520 connected via a displayadapter 522, user interfaces comprising one or more input devices 518,such as a keyboard, a mouse, a stylus, and the like. The display 520provides a display component for displaying the GUI 100 (FIG. 1) and GUI200 (FIG. 2), for example. However, the input devices 518 and thedisplay 520 are optional. A network interface 530 is provided forcommunicating with other computer systems via, for example, a network.

Accordingly, the systems and methods as described herein for a computingdevice enables the device user to launch an application directly from asleep state or a power-off state of the device, whereby the user is notsubjected to a time delay due to a login process to login to a useraccount, viewing an OS desktop, or a typical boot procedure or sequenceto boot up the computing device and the OS therein to full operation inthe OS normal mode.

What has been described and illustrated herein is an embodiment alongwith some of its variations. The terms, descriptions and figures usedherein are set forth by way of illustration only and are not meant aslimitations. Those skilled in the art will recognize that manyvariations are possible within the spirit and scope of the subjectmatter, which is intended to be defined by the following claims—andtheir equivalents—in which all terms are meant in their broadestreasonable sense unless otherwise indicated.

1. A method for launching a selected application in a computer systemthat is in one of a first sleep state and a first power-off state, thecomputer system includes an operating system (OS) installed therein toexecute applications in a normal mode of the OS, the method comprising:while the computer system is in one of the first sleep state and thefirst power-off state, receiving a command to launch the selectedapplication in the computer system; loading the OS in a sandbox modepreconfigured for the selected to application; and the OS in the sandboxmode launching the selected application to run in the computer system.2. The method of claim 1, further comprising: receiving a command toterminate the running of the selected application in the computersystem; and reverting the computer system to one of a second sleep stateand a second power-off state.
 3. The method of claim 2, wherein thefirst sleep state is the same as the second sleep state, and the firstpower-off state is the same as the second power-off state.
 4. The methodof claim 2, wherein the second sleep state is a predetermined sleepstate different from the first sleep state, and the second power-offstate is a predetermined power-off state different from the firstpower-off state.
 5. The method of claim 1, further comprising:determining a power state of the computer system at the time ofreceiving the command to launch the selected application.
 6. The methodof claim 5, further comprising: upon the determining that the powerstate of the computer system is one of the first sleep state and thefirst power-off state, proceeding with the steps of loading the OS inthe sandbox mode and the OS in the sandbox mode launching the selectedapplication.
 7. The method of claim 6, further comprising: upon thedetermining that the power state of the computer system is a power-onstate, launching the selected application within the OS in its normalmode.
 8. The method of claim 1, wherein the step of receiving thecommand to launch the selected application comprises: receiving thecommand as a signal generated from one of a plurality of hardwarebuttons available on the computer system, each hardware button is forlaunching a corresponding application in the computer.
 9. The method ofclaim 1, wherein the step of receiving the command to launch theselected application comprises: while computer system is in one of thesleep state and the power-off state, receiving a first command to launcha listing of a plurality of applications available for launching in thecomputer system; and subsequent to receiving the first command,receiving a second command selecting one of the plurality ofapplications as the selected application to launch in the computersystem.
 10. The method of claim 9, wherein the step of loading the OS ina sandbox mode preconfigured for the selected application comprises:responsive to the received first command, first loading the OS in aninitial sandbox mode preconfigured to operate a listing of availableapplications to launch; and responsive to the received second command,second loading the OS in the sandbox mode preconfigured for the selectedapplication.
 11. In a computing device for launching a selectedapplication therein while the computing device is in one of a sleepstate and a power-off state, the computing device comprising: at leastone hardware button that provides a first command to launch the selectedapplication while the computing device is in one of the sleep state andthe power-off state; an operating system (OS) installed and operable ina normal mode to execute applications within the OS and in a sandboxmode preconfigured to execute the selected application; and a firmwareresponsive to the first command from the hardware button to issue asecond command to the OS to operate the OS in the sandbox mode to launchthe selected application while the computing device is in one of thesleep state and the power-off state.
 12. The computing device of claim11, wherein the OS sandbox mode preconfigured to execute the selectedapplication comprises: one or more applied access controls such that theOS is able to launch only the selected application.
 13. The computingdevice of claim 11, wherein the OS sandbox mode is a predetermined useraccount with preconfigured access controls.
 14. The computing device ofclaim 11, wherein the at least one hardware button provides a secondcommand to launch a listing of available applications for launchingwhile the computing device is in one of the sleep state and thepower-off state.
 15. The computing device of claim 14, wherein the firstcommand to launch the selected application is provided from a userselection of one of the available applications to launch from thelisting as provided by the second command.
 16. The computing device ofclaim 14, wherein the second command sets the OS to operate in a sandboxmode preconfigured to only provide the listing of available applicationsfor launching while the computing device is in one of the sleep stateand the power-off state.
 17. The computing device of claim 11, whereinthe at least one hardware button includes a plurality of hardwarebuttons, each provides a command to launch a different selectedapplication while the computing device is in one of the sleep state andthe power-off state.
 18. The computing device of claim 11, wherein theat least one hardware button operates to launch the selected applicationwithin a normal mode of the OS when the at least one hardware button isactivated while the computing device is in a power-on state.
 19. Thecomputing device of claim 11, wherein the at least one hardware buttoncomprises a plurality of hardware buttons, each is user activated toprovide a listing of available applications for launching while thecomputing device is in one of the sleep state and the power-off state.20. A computer readable medium, stored in a computer system that is inone of a sleep state and a power-off state and includes an operatingsystem (OS) installed therein to execute applications in a normal modeof the OS, the computer readable medium is encoded with program codethereon for execution by a processing unit in the computer system to:while the computer system is in one of a sleep state and a power-offstate, receive a command to launch the selected application in thecomputer system; load the OS in a sandbox mode preconfigured for theselected application; and operate the OS in the sandbox mode to launchthe selected application to run in the computer system.